package com.unismc.supervisor;

/**
 * Define method name
 *
 * @author Ben Wen
 * @see <a href="http://www.supervisord.org/api.html">http://www.supervisord.org/api.html</a>
 */
public interface Methods {
    // Status and Control
    String _GET_API_VERSION = "getAPIVersion";
    String _GET_SUPERVISOR_VERSION = "getSupervisorVersion";
    String _GET_IDENTIFICATION = "getIdentification";
    String _GET_STATE = "getState";
    String _GET_PID = "getPID";
    String _READ_LOG = "readLog";
    String _CLEAR_LOG = "clearLog";
    String _SHUTDOWN = "shutdown";
    String _RESTART = "restart";
    // Process Control
    String _GET_PROCESS_INFO = "getProcessInfo";
    String _GET_ALL_PROCESS_INFO = "getAllProcessInfo";
    String _START_PROCESS = "startProcess";
    String _START_ALL_PROCESSES = "startAllProcesses";
    String _START_PROCESS_GROUP = "startProcessGroup";
    String _STOP_PROCESS = "stopProcess";
    String _STOP_PROCESS_GROUP = "stopProcessGroup";
    String _STOP_ALL_PROCESSES = "stopAllProcesses";
    String _SIGNAL_PROCESS = "signalProcess";
    String _SIGNAL_PROCESS_GROUP = "signalProcessGroup";
    String _SIGNAL_ALL_PROCESSES = "signalAllProcesses";
    String _SEND_PROCESS_STDIN = "sendProcessStdin";
    String _SEND_REMOTE_COMM_EVENT = "sendRemoteCommEvent";
    String _RELOAD_CONFIG = "reloadConfig";
    String _ADD_PROCESS_GROUP = "addProcessGroup";
    String _REMOVE_PROCESS_GROUP = "removeProcessGroup";
    // Process Logging
    String _READ_PROCESS_STDOUT_LOG = "readProcessStdoutLog";
    String _READ_PROCESS_STDERR_LOG = "readProcessStderrLog";
    String _TAIL_PROCESS_STDOUT_LOG = "tailProcessStdoutLog";
    String _TAIL_PROCESS_STDERR_LOG = "tailProcessStderrLog";
    String _CLEAR_PROCESS_LOGS = "clearProcessLogs";
    String _CLEAR_ALL_PROCESS_LOGS = "clearAllProcessLogs";
    // System Methods
    String _LIST_METHODS = "listMethods";
    String _METHOD_HELP = "methodHelp";
    String _METHOD_SIGNATURE = "methodSignature";
    String _MULTICALL = "multicall";
}
